package day03.ExtendsAndTrait

/**
  * 无论是继承还是实现特质，第一个都需要使用extends的
  */
class Monkey(age:Int ) extends Animal(age:Int) with Flayble{
  //构造方法   //先初始化父类的
  println("h")

  //定义一个抽象方法
  override def run(): Unit = {
    println("猴子在奔跑")
  }

  def this(age:Int,name:String){
    this(age)
    println(name)
  }

  //抽象方法
  override def fly(): Unit = {
    //特质（接口里面的抽象方法实现）
  }
}

object Monkey{
  def main(args: Array[String]): Unit = {
    //动态的混入特质   如果是有抽象方法，则在混入的时候后可以进行实现
    val monkey = new Monkey(3) with Fightble
    monkey.run()
    monkey.breath

  }
}
